<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script>
			// 转字符串
			var num = 12;
			num.toString() ;
			String(num);
			num+"";
			
			// 转数字
			// 整数
			var s = "123";
			parseInt(s)
			// 浮点数
			var s1 = "1.23"
			parseFloat(s1);
			// Number()
			Number(s);
			Number("12");
			// 利用整数运算
			"12" - 0 ;
			"123" - "120" ;
			"123" * 1 ;
			
		 //    var year = prompt("请输入出生年份");
			// alert("你的年龄是" + (2023-year));
			
			// 布尔型
			// 这些为false
			Boolean('')
			Boolean(0)
			Boolean(NaN)
			Boolean(null)
			Boolean(undefined)
			// 判断(有隐式转换)
			18 == '18' //true
			// 全等
			18 === '18' //false
			
			123 && 456 // 456
			0 && 123 // 0
			
			123 || 456 //123
			0 || 123 // 123
			
			// 创建数组
			var arr = new Array();
			var arr1 = [];
			var arr2 = [1, "w", true];
			
			// 创建函数
			function fu(){
				
			}
			var fuc = function(){
				
			}
			
			// 预解析案例
			f1();
			console.log(c);
			console.log(b);
			// console.log(a);
			function f1() {
				var a = b = c = 9;
				console.log(a);
				console.log(b);
				console.log(c);
			}
			// 解析后
			function f1() {
				var a;
				a = b = c = 9;
				console.log(a);
				console.log(b);
				console.log(c);
			}
			f1();
			console.log(c);
			console.log(b);
			// console.log(a);
			/**
			 * 答案
			 * 9
			 * 9
			 * 9
			 * 9
			 * 9
			 * 报错
			 */
			
			// 创建对象的三种方式
			// 利用对象字面量创建对象
			var obj = {};
			var obj1 = {
				name: '吴苏苏',
				age: 18,
				sayHello: function(){
					console.log('hello');
				}
			}
			// 利用new Object创建对象
			var obj2 = new Object();
			obj2.name =  'w';
			obj.age = 12;
			obj2.sayHello = function(){
				console.log('hello');
			}
			// 构造函数
			function Obj3(name,age){
				this.name = name;
				this.age = age;
				this.sing = function(music){
					console.log('唱'+music);
				}
			}
			var x = Obj3('w',18);
			// x.name;
			// x.sing('丑八怪');
			
			// 调用对象属性的两种方式
			obj1.name;
			obj1['age'];
			// 调用对象的方法
			obj1.sayHello();
			
			for (key in Obj3){
				console.log(key);  //输出属性名
				console.log(Obj3[key]); //输出属性值
			}
			
			// 内置对象
			Math.abs(); //绝对值
			Math.PI; 
			Math.ceil(); //向上取整
			Math.floor(); //向下取整
			Math.max(); //最大值
			Math.min(); //最小值
			Math.round(); //四舍五入
			Math.random(); //随机数
			
			// 封装一个函数,返回当前时间
			function getNowDate (){
				// 格式化日期
				let date = new Date()
				// 获取年
				let year = date.getFullYear()
				// 获取月
				let month = date.getMonth() + 1
				// 获取日
				let dates = date.getDate()
				// 初始一周数组
				let day_arr = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]
				// 获取周几索引
				let day = date.getDay();
				// 打印
				// document.write(`今天是${year}年${month}月${dates}日${day_arr[day]}`)
				// 获取小时数
				let hour = date.getHours()
				// 获取分钟数
				let minute = date.getMinutes()
				// 获取秒数
				let second = date.getSeconds();
				// 若当前秒数小于10,在前面加个0
				second = second < 10 ? '0' + second : second
				// 返回模板字符串
				return `${year}-${month}-${dates} ${hour}:${minute}:${second}`
			}
			document.write(getNowDate())
			
			// 获取当前毫秒数距1970-1-1
			let date1 = new Date()
			// 第一种
			date1.valueOf()
			// 第二种
			date1.getTime()
			// 第三种(最常用)
			let date2 = +new Date();
		</script>
	</body>
</html>